The present invention relates generally to secure boot of electronic devices and, more particularly, to a system for decryption key management and secure boot of an electronic device.
Modern cryptographic systems use cryptographic keys for converting or encrypt sensitive data into a form that is incomprehensible to unintended recipients. Intended recipients of the encrypted data are provided with cryptographic keys that enable them to decrypt or otherwise transform the encrypted data back to its original form. Thus, transmission of encrypted data mandates an exchange of keys between a sender and a receiver to enable successful encryption and decryption of the data.
In addition to the extensive use of cryptography in transmitting sensitive data, cryptography may also be used to encrypt and store sensitive data. For example, boot codes used for booting-up computer systems and electronic devices often are targets of unauthorized access and tampering. A compromised boot code can provide easy access to data stored in the computer system/electronic device. In a secure system, the boot code is therefore encrypted to prevent unauthorized access and tampering. In addition to using key based cryptography for protecting the authenticity of the boot code, a cryptographic hash function may also be used to verify the authenticity of the boot code. A cryptographic hash function selects an arbitrary block of data and returns a fixed-size bit string known as a hash value. A change in the data, whether accidental or intentional, leads to an altered hash value.
Although the above-mentioned methods enable authenticity, protection and verification of boot codes, they have several disadvantages. Cryptographic hash functions can only be used to verify the authenticity of the boot code but cannot be used to protect the data from unauthorized access. Decrypting the encrypted boot code extends the system boot time. Further, key based encryption of the boot sequence requires exchange of cryptographic keys. Thus, an effective key management system is required to prevent unauthorized access to the encryption/decryption keys and to the boot sequence in such cryptographic systems.
It would be advantageous to have a decryption key management system that prevents unauthorized access to the decryption keys and the boot codes, that is robust enough to withstand hacking attempts, that preserves the authenticity of the boot code, and that overcomes the above-mentioned limitations of conventional decryption key management systems.